package com.magic.process.event;

import com.magic.enums.MeetingEventEnum;
import com.magic.handler.MeetingHelper;
import com.magic.process.BaseMeetingEvent;
import com.magic.process.IMeetingEvent;
import com.magic.vo.MeetingVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author magic
 * @version 1.0
 * @date 2022/2/22 15:54
 */
@Slf4j
@Component
public class ReserveMeetingEvent extends BaseMeetingEvent<MeetingVo> implements IMeetingEvent.ReserveEvent<MeetingVo>,
        IMeetingEvent.ApplyEvent<MeetingVo>, IMeetingEvent.UpdateEvent<MeetingVo>, IMeetingEvent.ModifyEvent<MeetingVo> {
  @Override
  public MeetingEventEnum currentEvent(MeetingVo param) {
    log.info("reserve currentEvent");
    return MeetingEventEnum.RESERVE;
  }

  @Override
  public MeetingHelper[] preExecute(MeetingVo param) {
    log.info("reserve preExecute");
    return new MeetingHelper[0];
  }

  @Override
  public MeetingHelper[] execute(MeetingEventEnum eventEnum, MeetingHelper... helpers) {
    log.info("reserve execute");
    return new MeetingHelper[0];
  }
}
